// 高德地图API的基础URL
const baseUrl = '//restapi.amap.com';

// API密钥，需要替换为你自己的真实密钥
const apiKey = 'bb3541466e59aa709e43a86e300f45dd';

var map;
const myImgMap = new Map([
    ["-1", "local.png"],
    ["0", "ic_traffic_dot.png"],
    ["1", "ic_restaurant_dot.png"],
    ["2", "ic_hotel_dot.png"],
    ["3", "ic_scenic_dot.png"],
    ["4", "ic_photograph_dot.png"],
]);

function initMap(center, move) {
    tempCenter = center.split(",")
    // 地图中心点向上移动距离
    if(move){
        tempCenter[1] = parseFloat(tempCenter[1])-parseFloat(move);
    }
    map = new AMap.Map('container', {
        viewMode: '2D', // 默认使用 2D 模式，如果希望使用带有俯仰角的 3D 模式，请设置 viewMode: '3D'
        zoom: 10, // 初始化地图层级
        center:  tempCenter// 初始化地图中心点
    });
}

// 显示完整文本的函数
function showFullText(element, name) {
    element.classList.toggle('full-text');

    let span = element.querySelector('span');
    if (element.classList.contains('full-text')) {
        span.innerText = name;
    } else {
        //恢复省略号
        span.innerText = name.length > 8 ? name.substring(0, 7) + "..." : name;
    }
}


//创建点标记 arrS: 'x,y', localname: 标记名, imgNum: 标记图标
function creatTag(arrS, localname, imgNum, move){
    let arr = arrS.split(",")
    var shortName = localname.length > 8 ? localname.substring(0, 7) + "..." : localname;
    var marker = new AMap.Marker({
        position: arr,
        offset: new AMap.Pixel(-12, -12),
        anchor: new AMap.Pixel(12, 30),
        content: `
            <div class="marker-content" onclick="showFullText(this, '${localname}')">
                <img src="img/${myImgMap.get(imgNum)}"/>
                <span>${shortName}</span>
            </div>
        `
    });
    map.add(marker);
    //自动适配到合适视野范围
    //无参数，默认包括所有覆盖物的情况
    // var newCenter = map.setFitView();
    // 地图上移
    // if(move){
    //     var t = `${newCenter.getCenter()}`.split(",");
    //     t[1] = parseFloat(t[1])-parseFloat(move);
    //     map.setCenter(t);
    // }
}


// 添加连线
// arrs: ['x1,y1','x2,y2']
function putLine(arrs){

    //创建一条折线覆盖物
    let path = []
    for(let i = 0; i < arrs.length; i++){
        let arr = arrs[i].split(',')
        path.push(new AMap.LngLat(arr[0], arr[1]))
    }
    var polyline = new AMap.Polyline({
        path: path,
        borderWeight: 2, //线条宽度，默认为1
        strokeColor: "red", //线条颜色
        lineJoin: "round", //折线拐点连接处样式
    });
    map.add(polyline);
    var newCenter = map.setFitView();
}
